/**
 * This file is released under the GNU General Public License.
 * Refer to the COPYING file distributed with this package.
 *
 * Copyright (c) 2008-2009 WURFL-Pro srl
 */
package net.sourceforge.wurfl.core;

import net.sourceforge.wurfl.core.resource.ModelDevice;

/**
 * Factory for {@link CapabilitiesHolder} instances.
 * 
 * @author WURFL-PRO SRL, Rome, Italy
 * @version $Id: CapabilitiesHolderFactory.java 1045 2009-03-09 15:52:53Z filippo.deluca $
 */
public interface CapabilitiesHolderFactory {

	/**
	 * Returns instance of CapabilitiesHolder.
	 * 
	 * @param modelDevice
	 *            The device root of {@link DefaultDevice} recipient of the
	 *            created CapabilitiesHolder.
	 * @return instance of CapabilitiesHolder holds capabilities defined by
	 *         <code>root</code> device and his parents.
	 */
	public CapabilitiesHolder create(ModelDevice modelDevice);

}
